#include <REGX52.H>
#include "Delay.h"

/**
  * @brief  矩阵键盘读取按键键码
  * @param  无
  * @retval KeyNumber 按下按键的键码值
			如果按键按下不放，程序会停留在此函数，松手的一瞬间，返回按键键码，没有按键按下时，返回0
  */
	
short Llimit=0,Hlimit=255;
void MatrixKey()
{
	unsigned char KeyNumber=0;
	
	P1=0xFF;
	P1_7=0;
	if(P1_3==0){Delay(20);while(P1_3==0);Delay(20);KeyNumber=1;}
	if(P1_2==0){Delay(20);while(P1_2==0);Delay(20);KeyNumber=2;}
	if(P1_1==0){Delay(20);while(P1_1==0);Delay(20);KeyNumber=3;}
	if(P1_0==0){Delay(20);while(P1_0==0);Delay(20);KeyNumber=4;}
	
	switch(KeyNumber)
	{
			case 1:
				Llimit+=5;
				if(Llimit>Hlimit)Llimit=Hlimit;//范围限制
				break;
			case 2:
				Llimit-=5;
				if(Llimit<0)Llimit=0;
				break;
			case 3:
				Hlimit+=5;
				if(Hlimit>255)Hlimit=255;
				break;
			case 4:
				Hlimit-=5;
				if(Hlimit<Llimit)Hlimit=Llimit;
				break;
	}
	KeyNumber = 0;
}


short getLlimit()
{
	return Llimit;
}
short getHlimit()
{
	return Hlimit;
}